Authentication এবং Authorization

Database Tutorials - আরাঙ্গো (ArangoDB) Security in ArangoDB |
293
293

ArangoDB-তে Authentication এবং Authorization হল ডেটাবেসে সুরক্ষা নিশ্চিত করার দুটি গুরুত্বপূর্ণ প্রক্রিয়া। Authentication ব্যবহারকারীর পরিচয় যাচাই করে এবং Authorization নির্ধারণ করে যে একটি ব্যবহারকারী ডেটাবেসে কী কী অ্যাকশন সম্পাদন করতে পারে।


Authentication (প্রমাণীকরণ)

Authentication হল একটি প্রক্রিয়া যা নিশ্চিত করে যে একজন ব্যবহারকারী বৈধ এবং তাদের অ্যাক্সেস অনুমোদিত। ArangoDB-তে এটি সাধারণত Username এবং Password এর মাধ্যমে পরিচালিত হয়।

Authentication সেটআপ

  1. ডিফল্ট Authentication
    ArangoDB ইনস্টল করার পর ডিফল্টভাবে একটি অ্যাডমিন ব্যবহারকারী তৈরি হয়:
    • Username: root
    • Password: ইনস্টলেশনের সময় নির্ধারণ করতে হয়।
  2. নতুন ব্যবহারকারী তৈরি ArangoDB-তে নতুন ব্যবহারকারী তৈরি করতে Web Interface বা ArangoShell ব্যবহার করা যায়।
    • Web Interface:
      1. "Users" সেকশনে যান।
      2. "Add User" এ ক্লিক করুন।
      3. নতুন ব্যবহারকারীর Username এবং Password দিন।
    • ArangoShell:

      db._createUser("john_doe", "password123", { active: true });
      
  3. JWT Authentication
    ArangoDB JSON Web Token (JWT) ব্যবহার করে টোকেন-ভিত্তিক Authentication সমর্থন করে। এটি API অ্যাক্সেসের জন্য প্রয়োজন।

Example (JWT Token জেনারেশন):

arangodb --server.jwt-secret "your-secret-key"

Authorization (অনুমোদন)

Authorization হল একটি প্রক্রিয়া যা নির্ধারণ করে যে একজন ব্যবহারকারী ডেটাবেস, কালেকশন বা ডেটার উপর কী কী কার্যক্রম পরিচালনা করতে পারে।

User Role Management

ArangoDB-তে ব্যবহারকারীদের ডেটাবেস বা কালেকশনের উপর নির্দিষ্ট অধিকার দেওয়া যায়:

  • Read-only: শুধু ডেটা পড়তে পারবেন।
  • Read/Write: ডেটা পড়া এবং লেখা উভয়ই করতে পারবেন।
  • Admin: ডেটাবেস পরিচালনা এবং সেটিংস পরিবর্তন করতে পারবেন।

Authorization সেটআপ

  1. Web Interface:
    • "Users" সেকশনে যান।
    • নির্দিষ্ট ব্যবহারকারীর জন্য ডেটাবেস বা কালেকশনের অধিকার পরিবর্তন করুন।
  2. ArangoShell:

    db._grantDatabase("john_doe", "myDatabase", "rw");
    

Access Control List (ACL)

ACL এর মাধ্যমে নির্ধারণ করা হয় কোন ব্যবহারকারী কোন ডেটাবেস বা কালেকশনে কী ধরনের অধিকার পাবেন।


Authentication এবং Authorization এর একত্রিত ব্যবহার

নিচের উদাহরণে একটি নতুন ব্যবহারকারী তৈরি করে তাদের নির্দিষ্ট ডেটাবেসে সীমিত অধিকার দেওয়া হয়েছে:

// নতুন ব্যবহারকারী তৈরি
db._createUser("jane_doe", "securePass", { active: true });

// ডেটাবেসে Read-only অধিকার প্রদান
db._grantDatabase("jane_doe", "testDB", "ro");

Authorization Error:

যদি ব্যবহারকারী তাদের অধিকার সীমার বাইরে কোনো অ্যাকশন করার চেষ্টা করেন, তাহলে ArangoDB একটি Unauthorized Access ত্রুটি প্রদর্শন করবে।


উপকারিতা

  • ডেটার নিরাপত্তা: Authentication এবং Authorization ডেটাবেস অ্যাক্সেস নিয়ন্ত্রণ করে।
  • ব্যবহারকারী নির্দিষ্ট নিয়ন্ত্রণ: প্রতিটি ব্যবহারকারী তাদের অনুমোদিত ডেটা এবং কাজের উপর সীমাবদ্ধ থাকে।
  • বহুমাত্রিক অ্যাক্সেস নিয়ন্ত্রণ: বিভিন্ন ডেটাবেস এবং কালেকশনের জন্য পৃথক পৃথক অধিকার।
  • API Security: JWT Token ব্যবহারের মাধ্যমে API এর নিরাপত্তা বাড়ানো।

সারাংশ

ArangoDB-তে Authentication ব্যবহারকারী যাচাই করে এবং Authorization ব্যবহারকারীর অধিকার নির্ধারণ করে। Web Interface বা ArangoShell ব্যবহার করে সহজেই নতুন ব্যবহারকারী তৈরি, তাদের অনুমতি সেটআপ, এবং অ্যাক্সেস নিয়ন্ত্রণ করা যায়। এই প্রক্রিয়া ডেটাবেস সুরক্ষার একটি শক্তিশালী স্তর প্রদান করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion